A modeling of light-reflection is an important technology in order to render realistic images of three-dimensions. Some models based on the specific algorithms have been developed, e.g., Phong shading, which is one of the popular models used in a polygonal rendering scheme. The Phong shading algorithm assumes a uniform surface property of an object and disregards both behaviors of random reflection on a rough surface and the wave-length characteristic of light, while the Cook-Torrance model is a physical based model involving a rough surface property. This model expresses a specular reflection component Rs with the following equation (1).
                              Rs          =                                                    D                ⁡                                  (                  α                  )                                            ·              G              ·                              ρ                ⁡                                  (                                      λ                    ,                    θ                                    )                                                                                    (                                  N                  ·                  L                                )                            ⁢                              (                                  N                  ·                  V                                )                                                    ⁢                                  ⁢                              G            =                          min              ⁡                              [                                  1                  ,                  Gs                  ,                  Gm                                ]                                              ,                                          ⁢                      Gs            =                                          2                ⁢                                  (                                      N                    ·                    H                                    )                                ⁢                                  (                                      N                    ·                    L                                    )                                                            V                ·                H                                              ,                                          ⁢                      Gm            =                                          2                ⁢                                  (                                      N                    ·                    H                                    )                                ⁢                                  (                                      N                    ·                    V                                    )                                                            V                ·                H                                                    ⁢                                  ⁢                  H          =                      [                                          (                                  L                  +                  V                                )                                            2                ⁢                                                                        V                    +                    L                                                                                          ]                                              (        1        )            where N, L and V are a surface normal vector, a light-source incidence vector (unit vector) and a view vector (unit vector), respectively. H is a half vector between the light-source incidence L and view vector V. λ is a wave-length of light-source incidence. θ is an angle between light-source incidence L and surface normal vector N, and α is an angle between a mirror reflection vector and the view vector. ρ(λ,θ) shows a function of reflectance, and D(α) denotes a reflection distribution function.
A geometrical attenuation factor G is expressed by vectors and defined with a minimum value among three values in equation (1). The diffuse light reflection cos θ, cos α and cos γ (inner-product of surface normal N and view vector V) are defined by the equations (2)-(4) respectively.cos θ=L·N  (2)cos α=(2·N·(L·N)−L)·V  (3)cos γ=N·V  (4)
Substituting the equations (2)-(4) for the equation (1), the specular reflection component; Ispec is obtained as shown in an equation (5).
                    Ispec        =                  2          ⁢                      k            ·                          ρ              ⁡                              (                                  λ                  ,                  θ                                )                                      ·                          D              ⁡                              (                α                )                                      ·                          min              ⁡                              [                                                      1                                          2                      ⁢                                                                                          ⁢                      cos                      ⁢                                                                                          ⁢                      γ                                                        ,                                                            cos                      ⁢                                                                                          ⁢                      α                                                              cos                      ⁢                                                                                          ⁢                      γ                                                        ,                                                            cos                      ⁢                                                                                          ⁢                      α                                                              cos                      ⁢                                                                                          ⁢                      θ                                                                      ]                                                                        (        5        )            
Japanese laid open patent No. 2003-30683, reference 1, discloses the circuit to get the specular reflection component Ispec on a rough surface. FIG. 5 shows the brief circuit-diagram proposed on the Japanese laid open patent No. 2003-30683, implementing a table 101 of 1/cos θ, a table 102 of 1/cos γ, a table 103 of D(cos α), a table 104 of k×ρ(λ, cos θ), subtracter 105, multiplexer 106, ½ shifter 107, multiplier 108, comparator 109, multiplier 110, multiplier 111, multiplexer 112, multiplier that outputs two-time shifted value 113 respectively.
This circuit selects the minimum value from reciprocal values of cos γ and cos θ using ½ shifter 107, multiplier 108, multiplexers 106 and 112 through tables 101 and 102. However, the equation (5) takes the ranges from zero to infinity, resulting in low accuracy both for the minimum value of the geometrical attenuation factor and the specular reflection component.
The anisotropic reflection expresses a specific intensity distribution of specular reflection on object surfaces e.g., CD-ROM, hair, clothes, metals, which are caused by the grooves on a surface. As a computer graphics scheme to render the anisotropic reflection, the surface must be represented by polygon vertices with surface tangents that imply the direction of grooves in addition to the surface normal, light-source incidence and view angles. The anisotropic reflection is obtained by interpolating the above variables on a polygon interior. This scheme, however, assumes that the reflectance distributes uniformly on the whole surface.
The above assumption is available if the surface groove lines are in a single direction. However, the anisotropic reflection cannot be expressed properly in the case of, e.g., clothes that cross complex textures, unless the surface is divided into polygons of a small size. If the number of polygon increases, the workload for computing becomes heavy. Furthermore, a realistic expression cannot be obtained without a large number of small polygons on surfaces such as Makie (gold lacquer ware) on paintings and various reflectances of gold and silver leaves.